package com.erp.erp_entitys.warehouse.entity;

import java.math.BigDecimal;
import java.io.Serializable;

/**
 * 仓库管理-销售出库明细表(SellOutStockDetail)实体类
 *
 * @author lst
 * @since 2021-03-24 13:43:29
 */
public class SellOutStockDetailEntity implements Serializable {
    private static final long serialVersionUID = -43410704704838004L;
    /**
    * 主键id
    */
    private Integer id;
    /**
    * 父id
    */
    private Integer parentId;
    /**
    * 库存id
    */
    private Integer stockId;
    /**
     * 库存明细id
     */
    private Integer stockDetailId;
    /**
    * 入库单号
    */
    private String instoreBillNo;
    /**
    * 产品编码
    */
    private String productCode;
    /**
    * 规格编码
    */
    private String specificationCode;
    /**
    * 规格说明
    */
    private String specificationExplanation;
    /**
    * 销售合同号
    */
    private String saleContractNo;
    /**
    * 客户合同号
    */
    private String clientContractNo;
    /**
    * 产品单位
    */
    private String productUnitName;
    /**
    * 出库数量
    */
    private BigDecimal outStockQuantity;
    /**
    * 销售单价
    */
    private BigDecimal fcUnitPrice;
    /**
    * 成本小计
    */
    private BigDecimal costSubtotal;
    /**
    * 金额小计
    */
    private BigDecimal moneySubtotal;
    /**
    * 出库成本
    */
    private BigDecimal outStockCost;
    /**
    * 币种
    */
    private String currency;
    /**
    * 分摊费用单价
    */
    private BigDecimal shareCostPrice;
    /**
    * 托盘入数
    */
    private BigDecimal trayNumber;
    /**
    * 总托盘
    */
    private BigDecimal totalTray;
    /**
    * 客户货号
    */
    private String clientProductNo;
    /**
    * 颜色
    */
    private String color;
    /**
    * 产品中文名称
    */
    private String productCname;
    /**
    * 产品英文名称
    */
    private String productEname;
    /**
    * 产品中文描述
    */
    private String productCdesc;
    /**
    * 产品英文描述
    */
    private String productEdesc;
    /**
    * 批号
    */
    private String lotNo;
    /**
    * 毛重
    */
    private BigDecimal grossWeight;
    /**
    * 毛重小计
    */
    private BigDecimal grossWeightSubtotal;
    /**
    * 净重
    */
    private BigDecimal netWeight;
    /**
    * 净重小计
    */
    private BigDecimal netWeightSubtotal;
    /**
    * 体积
    */
    private BigDecimal bulk;
    /**
    * 体积小计
    */
    private BigDecimal bulkSubtotal;
    /**
    * 箱数
    */
    private BigDecimal boxAmount;
    /**
    * 每箱数量
    */
    private BigDecimal everyBoxAmount;
    /**
     * 海运费
     */
    private BigDecimal shippingFee;

    /**
     * 运输代理费
     */
    private BigDecimal transferAgencyFee;

    /**
     * 美国仓储操作费
     */
    private BigDecimal storageOperationFee;

    /**
     * 关税
     */
    private BigDecimal tariff;

    /**
     * 海外仓库租金费
     */
    private BigDecimal warehouseRentalFee;
    /**
    * 备注
    */
    private String memo;
    /**
    * 合同类型(1:内销 2:外销 3:待定)
    */
    private Integer contractType;
    /**
    * 是否有效(0:无效 1:有效)
    */
    private Integer valid;


    public BigDecimal getShippingFee() {
        return shippingFee;
    }

    public void setShippingFee(BigDecimal shippingFee) {
        this.shippingFee = shippingFee;
    }

    public BigDecimal getTransferAgencyFee() {
        return transferAgencyFee;
    }

    public void setTransferAgencyFee(BigDecimal transferAgencyFee) {
        this.transferAgencyFee = transferAgencyFee;
    }

    public BigDecimal getStorageOperationFee() {
        return storageOperationFee;
    }

    public void setStorageOperationFee(BigDecimal storageOperationFee) {
        this.storageOperationFee = storageOperationFee;
    }

    public BigDecimal getTariff() {
        return tariff;
    }

    public void setTariff(BigDecimal tariff) {
        this.tariff = tariff;
    }

    public BigDecimal getWarehouseRentalFee() {
        return warehouseRentalFee;
    }

    public void setWarehouseRentalFee(BigDecimal warehouseRentalFee) {
        this.warehouseRentalFee = warehouseRentalFee;
    }

    public Integer getStockDetailId() {
        return stockDetailId;
    }

    public void setStockDetailId(Integer stockDetailId) {
        this.stockDetailId = stockDetailId;
    }

    public Integer getId() {
        return id;
    }

    public void setId(Integer id) {
        this.id = id;
    }

    public Integer getParentId() {
        return parentId;
    }

    public void setParentId(Integer parentId) {
        this.parentId = parentId;
    }

    public Integer getStockId() {
        return stockId;
    }

    public void setStockId(Integer stockId) {
        this.stockId = stockId;
    }

    public String getInstoreBillNo() {
        return instoreBillNo;
    }

    public void setInstoreBillNo(String instoreBillNo) {
        this.instoreBillNo = instoreBillNo;
    }

    public String getProductCode() {
        return productCode;
    }

    public void setProductCode(String productCode) {
        this.productCode = productCode;
    }

    public String getSpecificationCode() {
        return specificationCode;
    }

    public void setSpecificationCode(String specificationCode) {
        this.specificationCode = specificationCode;
    }

    public String getSpecificationExplanation() {
        return specificationExplanation;
    }

    public void setSpecificationExplanation(String specificationExplanation) {
        this.specificationExplanation = specificationExplanation;
    }

    public String getSaleContractNo() {
        return saleContractNo;
    }

    public void setSaleContractNo(String saleContractNo) {
        this.saleContractNo = saleContractNo;
    }

    public String getClientContractNo() {
        return clientContractNo;
    }

    public void setClientContractNo(String clientContractNo) {
        this.clientContractNo = clientContractNo;
    }

    public String getProductUnitName() {
        return productUnitName;
    }

    public void setProductUnitName(String productUnitName) {
        this.productUnitName = productUnitName;
    }

    public BigDecimal getOutStockQuantity() {
        return outStockQuantity;
    }

    public void setOutStockQuantity(BigDecimal outStockQuantity) {
        this.outStockQuantity = outStockQuantity;
    }

    public BigDecimal getFcUnitPrice() {
        return fcUnitPrice;
    }

    public void setFcUnitPrice(BigDecimal fcUnitPrice) {
        this.fcUnitPrice = fcUnitPrice;
    }

    public BigDecimal getCostSubtotal() {
        return costSubtotal;
    }

    public void setCostSubtotal(BigDecimal costSubtotal) {
        this.costSubtotal = costSubtotal;
    }

    public BigDecimal getMoneySubtotal() {
        return moneySubtotal;
    }

    public void setMoneySubtotal(BigDecimal moneySubtotal) {
        this.moneySubtotal = moneySubtotal;
    }

    public BigDecimal getOutStockCost() {
        return outStockCost;
    }

    public void setOutStockCost(BigDecimal outStockCost) {
        this.outStockCost = outStockCost;
    }

    public String getCurrency() {
        return currency;
    }

    public void setCurrency(String currency) {
        this.currency = currency;
    }

    public BigDecimal getShareCostPrice() {
        return shareCostPrice;
    }

    public void setShareCostPrice(BigDecimal shareCostPrice) {
        this.shareCostPrice = shareCostPrice;
    }

    public BigDecimal getTrayNumber() {
        return trayNumber;
    }

    public void setTrayNumber(BigDecimal trayNumber) {
        this.trayNumber = trayNumber;
    }

    public BigDecimal getTotalTray() {
        return totalTray;
    }

    public void setTotalTray(BigDecimal totalTray) {
        this.totalTray = totalTray;
    }

    public String getClientProductNo() {
        return clientProductNo;
    }

    public void setClientProductNo(String clientProductNo) {
        this.clientProductNo = clientProductNo;
    }

    public String getColor() {
        return color;
    }

    public void setColor(String color) {
        this.color = color;
    }

    public String getProductCname() {
        return productCname;
    }

    public void setProductCname(String productCname) {
        this.productCname = productCname;
    }

    public String getProductEname() {
        return productEname;
    }

    public void setProductEname(String productEname) {
        this.productEname = productEname;
    }

    public String getProductCdesc() {
        return productCdesc;
    }

    public void setProductCdesc(String productCdesc) {
        this.productCdesc = productCdesc;
    }

    public String getProductEdesc() {
        return productEdesc;
    }

    public void setProductEdesc(String productEdesc) {
        this.productEdesc = productEdesc;
    }

    public String getLotNo() {
        return lotNo;
    }

    public void setLotNo(String lotNo) {
        this.lotNo = lotNo;
    }

    public BigDecimal getGrossWeight() {
        return grossWeight;
    }

    public void setGrossWeight(BigDecimal grossWeight) {
        this.grossWeight = grossWeight;
    }

    public BigDecimal getGrossWeightSubtotal() {
        return grossWeightSubtotal;
    }

    public void setGrossWeightSubtotal(BigDecimal grossWeightSubtotal) {
        this.grossWeightSubtotal = grossWeightSubtotal;
    }

    public BigDecimal getNetWeight() {
        return netWeight;
    }

    public void setNetWeight(BigDecimal netWeight) {
        this.netWeight = netWeight;
    }

    public BigDecimal getNetWeightSubtotal() {
        return netWeightSubtotal;
    }

    public void setNetWeightSubtotal(BigDecimal netWeightSubtotal) {
        this.netWeightSubtotal = netWeightSubtotal;
    }

    public BigDecimal getBulk() {
        return bulk;
    }

    public void setBulk(BigDecimal bulk) {
        this.bulk = bulk;
    }

    public BigDecimal getBulkSubtotal() {
        return bulkSubtotal;
    }

    public void setBulkSubtotal(BigDecimal bulkSubtotal) {
        this.bulkSubtotal = bulkSubtotal;
    }

    public BigDecimal getBoxAmount() {
        return boxAmount;
    }

    public void setBoxAmount(BigDecimal boxAmount) {
        this.boxAmount = boxAmount;
    }

    public BigDecimal getEveryBoxAmount() {
        return everyBoxAmount;
    }

    public void setEveryBoxAmount(BigDecimal everyBoxAmount) {
        this.everyBoxAmount = everyBoxAmount;
    }

    public String getMemo() {
        return memo;
    }

    public void setMemo(String memo) {
        this.memo = memo;
    }

    public Integer getContractType() {
        return contractType;
    }

    public void setContractType(Integer contractType) {
        this.contractType = contractType;
    }

    public Integer getValid() {
        return valid;
    }

    public void setValid(Integer valid) {
        this.valid = valid;
    }


    /**
     * 重写toString
     */
    @Override
    public String toString() {
        final StringBuilder sb = new StringBuilder("SellOutStockDetailEntity").append('[')
                .append("id=")
                .append(id)
                .append(",parentId=")
                .append(parentId)
                .append(",stockId=")
                .append(stockId)
                .append(",stockDetailId=")
                .append(stockDetailId)
                .append(",instoreBillNo=")
                .append(instoreBillNo)
                .append(",productCode=")
                .append(productCode)
                .append(",specificationCode=")
                .append(specificationCode)
                .append(",specificationExplanation=")
                .append(specificationExplanation)
                .append(",saleContractNo=")
                .append(saleContractNo)
                .append(",clientContractNo=")
                .append(clientContractNo)
                .append(",productUnitName=")
                .append(productUnitName)
                .append(",outStockQuantity=")
                .append(outStockQuantity)
                .append(",fcUnitPrice=")
                .append(fcUnitPrice)
                .append(",costSubtotal=")
                .append(costSubtotal)
                .append(",moneySubtotal=")
                .append(moneySubtotal)
                .append(",outStockCost=")
                .append(outStockCost)
                .append(",currency=")
                .append(currency)
                .append(",shareCostPrice=")
                .append(shareCostPrice)
                .append(",trayNumber=")
                .append(trayNumber)
                .append(",totalTray=")
                .append(totalTray)
                .append(",clientProductNo=")
                .append(clientProductNo)
                .append(",color=")
                .append(color)
                .append(",productCname=")
                .append(productCname)
                .append(",productEname=")
                .append(productEname)
                .append(",productCdesc=")
                .append(productCdesc)
                .append(",productEdesc=")
                .append(productEdesc)
                .append(",lotNo=")
                .append(lotNo)
                .append(",grossWeight=")
                .append(grossWeight)
                .append(",grossWeightSubtotal=")
                .append(grossWeightSubtotal)
                .append(",netWeight=")
                .append(netWeight)
                .append(",netWeightSubtotal=")
                .append(netWeightSubtotal)
                .append(",bulk=")
                .append(bulk)
                .append(",bulkSubtotal=")
                .append(bulkSubtotal)
                .append(",boxAmount=")
                .append(boxAmount)
                .append(",everyBoxAmount=")
                .append(everyBoxAmount)
                .append(",shippingFee=")
                .append(shippingFee)
                .append(",transferAgencyFee=")
                .append(transferAgencyFee)
                .append(",storageOperationFee=")
                .append(storageOperationFee)
                .append(",tariff=")
                .append(tariff)
                .append(",warehouseRentalFee=")
                .append(warehouseRentalFee)
                .append(",memo=")
                .append(memo)
                .append(",contractType=")
                .append(contractType)
                .append(",valid=")
                .append(valid)
                .append(']');
        return sb.toString();
    }
}